package ivia.fiuza.primenumbers.tests;

import ivia.fiuza.primenumbers.classes.PrimeNumber;

import org.junit.Test;
import org.junit.Assert;

public class PrimeNumberTest {

	/*
	 *	Lista de números de 2 a 20, 111, 996, 997, 104728 e 104729.
	 *	2 é primo
	 *	3 é primo
	 *	4 não é primo
	 *	5 é primo
	 *	6 não é primo
	 *	7 é primo
	 *	8 não é primo
	 *	9 não é primo
	 *	10 não é primo
	 *	11 é primo
	 *	12 não é primo
	 *	13 é primo
	 *	14 não é primo
	 *	15 não é primo
	 *	16 não é primo
	 *	17 é primo
	 *	18 não é primo
	 *	19 é primo
	 *	20 não é primo
	 *	111 não é primo
	 *	996 não é primo
	 *	997 é primo
	 *	104728 não é primo
	 *	104729 é primo
	 */
	
	@Test
	public void valorDoisPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 2 ) );
	}

	@Test
	public void valorTresPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 3 ) );
	}

	@Test
	public void valorQuatroPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 4 ) );
	}

	@Test
	public void valorCincoPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 5 ) );
	}

	@Test
	public void valorSeisPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 6 ) );
	}

	@Test
	public void valorSetePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 7 ) );
	}

	@Test
	public void valorOitoPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 8 ) );
	}

	@Test
	public void valorNovePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 9 ) );
	}

	@Test
	public void valorDezPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 10 ) );
	}

	@Test
	public void valorOnzePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 11 ) );
	}

	@Test
	public void valorDozePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 12 ) );
	}

	@Test
	public void valorTrezePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 13 ) );
	}

	@Test
	public void valorQuatorzePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 14 ) );
	}

	@Test
	public void valorQuinzePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 15 ) );
	}

	@Test
	public void valorDezesseisPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 16 ) );
	}

	@Test
	public void valorDezessetePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 17 ) );
	}

	@Test
	public void valorDezoitoPrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 18 ) );
	}

	@Test
	public void valorDezenovePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 19 ) );
	}

	@Test
	public void valorVintePrimo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 20 ) );
	}

	@Test
	public void valor111Primo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 111 ) );
	}

	@Test
	public void valor996Primo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 996 ) );
	}

	@Test
	public void valor997Primo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 997 ) );
	}

	@Test
	public void valor104728Primo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( false, primeNumber.isPrime( 104728 ) );
	}

	@Test
	public void valor104729Primo(){
		PrimeNumber primeNumber = new PrimeNumber();
		Assert.assertEquals( true, primeNumber.isPrime( 104729 ) );
	}

}
